﻿using System;

namespace Ast.Core.Pe.Definitions
{
    [Flags]
    public enum DllCharacteristics : ushort
    {
        LibraryProcessInit = 0x0001, // Reserved.
        LibraryPRocessTerm = 0x0002, // Reserved.
        LibraryThreadInit = 0x0004, // Reserved.
        LibraryThreadTerm = 0x0008, // Reserved.
        DynamicBase = 0x0040, // DLL can move.
        ForceIntegrity = 0x0080, // Code Integrity Image
        NxCompatible = 0x0100, // Image is NX compatible
        NoIsolation = 0x0200, // Image understands isolation and doesn't want it
        NoStructuredExceptionHandling = 0x0400, // Image does not use SEH.  No SE handler may reside in this image
        NoBind = 0x0800, // Do not bind this image.
        Reserved1 = 0x1000, // Reserved.
        UsesWdm = 0x2000, // Driver uses WDM model
        Reserved2 = 0x4000, // Reserved.
        TerminalServerAware = 0x8000
    }
}